programski jezik C jezik opste namjene, ali relativno niskog nivoa radi sa objektima sa kojima rade i masinske instrukcije znakovi, brojevi, adrese iako je nazvan jezikom za sistemsko programiranje tijesno povezan sa UNIX-om prethodnici su mu BCPL i B (bili su jezici bez tipova podataka) Tipovi podataka osnovni tipovi: znakovni, cijeli i realni brojevi izvedeni tipovi kreiraju se pokazivacima, poljima strukturama i unijama Izrazi operatori i operandi bilo koji izraz moze biti iskaz Konstrukcije za kontrolu toka grupisanje iskaza donosenje odluka izbor jednog od mnostva mogucih slucajeva pravljenje petlje sa zavrsnim testom na pocetku ili kraju raniji izlaz iz petlje Funkcije mogu vracati vrijednosti osnovnih tipova, struktura, unija ili pokazivaca lokalne promjenljive se iznova kreiraju svakim novim pozivom deklaracija sadrzi opis argumenata definicija fja mogu se nalaziti u razlicitim izvornim datotekama Promjenljive mogu se deklarisati po blokovima promjenljive mogu biti unutrasnje, spoljasnje ili globalne Pre-procesorska faza makro zamjene na tekstu, ukljucivanje ostalih izvornih datotekam Izvedeni tipovi podataka nizovi, liste, matrice, skupovi ne postoje operacije koje obradjuju jedan cijeli niz ili matricu ali postoji dodjelivanje struktura! morate napisati svoju fju koja uporedjuje dvije znakovne niske C nije strogo tipoziran, ali ima jaku kontrolu tipova pokazivac i cijeli broj, na primjer